📘 NVSHMEM 单边通信
实战指南
📌 30章 · 从入门到集群
✨ 点击卡片跳转对应章节 · 友好色系
01
NVSHMEM 概述
PE、对称内存、Put/Get 核心概念
02
环境搭建
安装配置 · 编译器 · 环境变量
03
Hello World
初始化/终止 · PE ID · 打印
04
对称内存管理
nvshmem_malloc/free · 特性
05
Put 操作基础
float/double/int · 同步语义
06
Get 操作基础
基础Get · 同步 · 性能对比
07
Put 操作进阶
批量Put · 非阻塞 · 优化技巧
08
Get 操作进阶
批量Get · 非阻塞 · 优化
09
同步机制
barrier/sync · 同步陷阱
10
信号量操作
signal_put/get · 与Barrier对比
11
原子操作
fetch_add · compare_swap · 开销
12
集合操作
collect/broadcast/reduce
13
多GPU通信
亲和性 · 跨节点 · 瓶颈
14
流与事件
CUDA流集成 · stream_put/get
15
内存一致性模型
可见性 · 内存屏障 · 问题
16
性能调优基础
带宽/延迟 · 性能模型
17
性能调优进阶
数据对齐 · 批量 · 减少同步
18
调试与诊断
错误类型 · nvshmem_info · Nsight
19
与MPI混合编程
集成 · 通信模式 · 案例分析
20
与CUDA内核结合
内核中Put/Get · 启动同步
21
多线程支持
多线程模式 · 安全 · 数据竞争
22
动态PE管理
动态创建/销毁 · 适用场景
23
远程内存访问(RMA)
RMA概念 · 与Put/Get关系
24
锁机制
nvshmem_lock/unlock · 开销
25
P2P通信优化
GPU Direct P2P · 配置与优势
26
RDMA集成
RDMA作用 · 配置优化
27
大规模集群部署
节点通信 · 拓扑感知 · 负载均衡
28
实际案例一:矩阵乘法
分布式矩阵 · Put/Get应用
29
实际案例二:Stencil计算
边界交换 · Put/Get优化
30
总结与展望
优缺点 · 趋势 · 学习资源